A common goal amongst search engines software systems is to provide thorough and relevant search results to search queries. Search engine users expect relevant results to their search queries, even if such results do not contain the actual query terms submitted by the search engine user. Because languages can have multiple words with similar meaning, a concept can be described in multiple varying ways, which may result in incongruities between what a searcher enters as a search query and what is on a potentially relevant search result.
Thus, a search engine ideally bridges the gap between language used by searcher and the language used within or in conjunction with a potentially relevant search result. This gap may be bridged by a search engine that incorporates knowledge of synonyms in the language.
However, the meaning of words is often not constant. Any particular word may have multiple dissimilar meanings based on the word's context. Further, the meaning of any particular word may evolve over time. Word meanings can evolve as a result of technological changes, popular culture phenomena, or other developments that result in common and societal linguistic changes. For example, the word “Frozen” has a recently-added definition; that of the name of a popular animated movie. If a search engine only interprets a query for “frozen toys” according to the traditional meaning of “frozen,” it is likely that the desired search results will not be returned. As another example, the word “pupil” could signify a student or a part of the eye.
Since many search engines work on exact matching of words queried by the user against words in a document, variations in the spelling and/or form of a word may result in relevant documents being left out of the search results. One example of spelling variation is the difference between “color” and “colour.” Examples of differing grammatical forms include pluralization of a term (“shoe” compared to “shoes”) and adjective forms of nouns (“magic” compared to “magical”). Common abbreviations may also carry the same or similar meaning and/or understanding as the word for which they stand (for example, “NYC” for “New York City”). Complex synonyms may share meaning with multiple-term phrases (for example, “laptop battery” and “laptop power brick”).
Since there are millions of words and phrases in a language, with many of these having various dissimilar meanings based on context, manually building a synonym knowledge database that takes into account these dissimilar meanings can be a daunting and ineffective task. Such a dictionary may involve continuous updating as word meanings change with time and/or as popular culture introduces new interpretations of such words.
Corresponding reference characters indicate corresponding components throughout the several views of the drawings. Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present disclosure. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present disclosure.